package com.rzjm.api.service;

import com.rzjm.api.entity.PickUpPlan;
import com.rzjm.api.entity.PickUpPlanInfo;
import com.rzjm.api.entity.PickUpRecord;
import com.rzjm.api.entity.User;

public interface PickUpRecordService extends BaseService<PickUpRecord> {

    /**
     *  预约
     * @param user
     * @param record
     * @return
     */
    int addRecord(User user, PickUpPlanInfo planInfo, PickUpRecord record);

    /**
     *  签到（取号）
     * @param user
     * @param record
     * @return
     */
    int sign(User user, PickUpRecord record);


    /**
     * （叫号） 管理员操作
     * @param user
     * @param plan
     * @param isStride  0 - 正常叫号  1 - 过号
     * @return
     */
    int call(User user, PickUpPlan plan, int isStride);

    /**
     *  插队
     * @param user
     * @param record
     * @return
     */
    int jump(User user, PickUpRecord record);


    /**
     *  获取我未开始的 预约
     * @param user
     * @param planInfo
     * @param state
     * @return
     */
    PickUpRecord getMyLastRecord(User user, PickUpPlanInfo planInfo,int state);

}
